package com.sunxiansheng.tool;

import java.text.SimpleDateFormat;

/**
 * SimpleDateFormat 工具类
 * 用于提供线程安全的 SimpleDateFormat 实例
 */
public class SimpleDateFormatUtils {

    // 使用 ThreadLocal 提供线程安全的 SimpleDateFormat 实例
    private static final ThreadLocal<SimpleDateFormat> THREAD_LOCAL = new ThreadLocal<SimpleDateFormat>() {
        /**
         * 初始化 SimpleDateFormat 实例
         * @return SimpleDateFormat 实例，格式为 "yyyy-MM-dd HH:mm:ss"
         */
        @Override
        protected SimpleDateFormat initialValue() {
            return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        }
    };

    /**
     * 获取时间格式化实例
     * @return SimpleDateFormat 实例，格式为 "yyyy-MM-dd HH:mm:ss"
     */
    public static SimpleDateFormat getTime() {
        SimpleDateFormat simpleDateFormat = THREAD_LOCAL.get();
        // 如果 THREAD_LOCAL 中没有 SimpleDateFormat 实例，则创建新的实例
        if (simpleDateFormat == null) {
            return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        }
        return simpleDateFormat;
    }

}